#include<bits/stdc++.h>
using namespace std;

class Solution {
public:
    bool increasingTriplet(vector<int>& nums) {
        vector<int> data;
        for(int i = 0; i < nums.size(); i++){
            if(data.empty() || nums[i] > data[data.size() - 1]){
                data.push_back(nums[i]);
                if(data.size() == 3)return true;
            }
            for(int j = 0; j < data.size(); j++){
                if(data[j] >= nums[i]){
                    data[j] = nums[i];
                    break;
                }
            }
        }
        return false;
    }
};

/**
 * 2022.1.12
 * 牢记 LIS 的贪心二分法，不过这里只判断长度最高为 3 的上升子序列，所以也不需要二分
 */